package com.gz.moreaseManager.sys.service;

import com.gz.moreaseManager.sys.entity.Dict;
import com.baomidou.mybatisplus.service.IService;
import com.gz.moreaseManager.sys.transfer.SysDictVo;

import java.util.List;
import java.util.Map;

/**
 * <p>
 * 字典表 服务类
 * </p>
 *
 * @author wike
 * @since 2019-02-21
 */
public interface IDictService extends IService<Dict> {

    /**
     * 根据ID获取字典项信息
     * @param id
     * @return
     */
    Dict getSysDictInfo(Integer id);

    /**
     * 根据编码获取字典项信息
     * @param code
     * @return
     */
    Dict getSysDictInfo(String code);

    /**
     * 新增字典数据
     * @param sysDictVo
     * @return
     */
    Boolean addSysDict(SysDictVo sysDictVo);

    /**
     * 修改字典数据
     * @param sysDictVo
     * @return
     */
    Boolean updateSysDict(SysDictVo sysDictVo);

    /**
     * 获取字典与子类目
     * @param id
     * @return
     */
    SysDictVo findDictInfoById(Integer id);

    /**
     * 获取字典与子类目
     * @param code
     * @return
     */
    SysDictVo findDictInfoByCode(String code);

    /**
     * 获取字典map key == name ,value == code
     * @param code
     * @return
     */
    Map<String,String> findMapToCodeByCode(String code );

    /**
     * 获取字典map key == code ,value == name
     * @param code
     * @return
     */
    Map<String,String> findMapToNameByCode(String code );

    /**
     * 根据code获取子项目
     * @param code
     * @return
     */
    List<Dict> findChildDict(String code );
}
